package com.gali.leetcode.day2;

import java.util.HashMap;
import java.util.Map;

/**
 * @Auther: gali
 * @Date: 2022/7/15-07-15-21:37
 * @Description:
 */
public class Solution {
    public int lengthOfLongestSubstring(String s) {
        int max=0;
        //将字符串存入到HashMap中
        HashMap<Character,Integer> map=new HashMap<>();
        //判断字符串的长度
        if (s.length()==0){
            return 0;
        }
        for (int start = 0, end = 0; end < s.length(); end++) {
            if (map.containsKey(s.charAt(end))){
                start=Math.max(start,map.get(s.charAt(end)) +1);//返回上一个字符的下一个位置
            }
            map.put(s.charAt(end),end);//没有就加入到map集合中
            max=Math.max(max,end-start+1);//更新最大不重复的string字符串的长度
        }
        return max;
    }
}
